home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group99a.txt / 000107_icon-group-sender _Wed Apr 28 08:12:12 1999.msg < prev    next >
Internet Message Format  |  2000-09-20  |  3KB

  1. Return-Path: <icon-group-sender>
  2. Received: (from root@localhost)
  3.     by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id IAA14990
  4.     for icon-group-addresses; Wed, 28 Apr 1999 08:09:01 -0700 (MST)
  5. Message-Id: <199904281509.IAA14990@baskerville.CS.Arizona.EDU>
  6. Delivered-To: icon-group@cs.arizona.edu
  7. Date: Wed, 28 Apr 1999 11:41:00 +1200 (NZST)
  8. From: "Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
  9. To: evans@gte.net, icon-group@optima.CS.Arizona.EDU
  10. Subject: RE: Modula 3
  11. Errors-To: icon-group-errors@optima.CS.Arizona.EDU
  12. Status: RO
  13.  
  14.     Modula 3 is supposed to be capable of handling vast software systems without all
  15.     the header file nightmares of C++.  It is supposed to capture essentially all
  16.     the good and "proven" features of modern software compiler design practice,
  17.     without all the bad stuff (but still allowing for low-level machine access as
  18.     required, in controlled interfaces).  Whether it was based on Pascal or BASIC or
  19.     FORTRAN or C or Ada does not answer the question of the Modula-3 language's
  20.     practical utility as it exists today, in comparison to Icon.  The blurbs for
  21.     Icon make a lot of similar claims.
  22.     
  23. You can think of Modula 3 as a poor man's Ada 95
  24.     PLUS required garbage collection
  25.     PLUS a GUI kit of its own instead of Ada's X and Windows bindings.
  26. Modula-3 should give you pretty good performance, but probably won't
  27. match Ada or SmallEiffel.  If only Ada 95 systems all had garbage
  28. collection (instead of only some of them) I don't know why anyone
  29. would use Modula-3.
  30.  
  31.     The blurbs I have read from the Modula-3 home page indicate that
  32.     some groups of experienced C++ programmers never looked back
  33.     after using Modula-3.
  34.  
  35. That's largely because C++ is uniquely horrible.  "Header file nightmares"
  36. are confined to C-like languages; Simula 67 had full typesafe separate
  37. compilation without any of that nonsense back in the late 60s.  If you want
  38. a decent OO language with generics, Eiffel and Sather deserve as much
  39. consideration as Modula-3, and Eiffel has multiple implementations.
  40.  
  41.     Maybe another way to ask my question is this:  if Icon evolves,
  42.     should it evolve in the direction of Modula-3?  Even partly?
  43.     
  44. It couldn't, not without changing its character so much as to be
  45. unrecognisable.  Icon *could* evolve in the direction of ISETL, Pop-11,
  46. or Lisp without losing too much; indeed, if you get Jeff Siskind's
  47. SCREAMER package for Lisp, you end up with a rather more powerful
  48. language than Icon but in much the same spirit.  (To start with, the
  49. Common Lisp Object System is the most powerful in existence, far beyond
  50. anything Modula-3 can muster.)
  51.  
  52.   You could *possibly* bolt some kind of Haskell-like type system on top
  53. of Icon and still salvage much of the language (there's an interesting
  54. M.Sc.  topic), but not a Modula-3-like type system, and it's only a
  55. little exaggeration to say that the type system _is_ Modula-3.
  56.  
  57.  
  58.